/*
 * Keletas funkcijų apdoroti klaidoms
 */
#include "../include/types.h"
#include "../include/errors.h"
#include "../include/monitor.h"
 
extern void panic(char *message, char *file, u32int line){
  asm volatile("cli"); /* Išjungiame pertraukimus */
  
  monitor_write("PANIC(");
  monitor_write(message);
  monitor_write(") at ");
  monitor_write(file);
  monitor_write(":");
  monitor_write_dec(line);
  monitor_write("\n");
  /* Pereiname į amžiną ciklą */
  for(;;);
}

extern void panic_assert(char *file, u32int line, char *desc){
  asm volatile("cli"); /* Išjungiame pertraukimus */

  monitor_write("ASSERTION-FAILED(");
  monitor_write(desc);
  monitor_write(") at ");
  monitor_write(file);
  monitor_write(":");
  monitor_write_dec(line);
  monitor_write("\n");
  /* Pereiname į amžiną ciklą */
  for(;;);
}